﻿/*
 Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.md or http://ckeditor.com/license
 */
(function () {
    function c(b) {
        var c = this instanceof CKEDITOR.ui.dialog.checkbox;
        b.hasAttribute(this.id) && (b = b.getAttribute(this.id), c ? this.setValue(e[this.id]["true"] == b.toLowerCase()) : this.setValue(b))
    }

    function d(b) {
        var c = "" === this.getValue(), a = this instanceof CKEDITOR.ui.dialog.checkbox, d = this.getValue();
        c ? b.removeAttribute(this.att || this.id) : a ? b.setAttribute(this.id, e[this.id][d]) : b.setAttribute(this.att || this.id, d)
    }

    var e = {scrolling: {"true": "yes", "false": "no"}, frameborder: {"true": "1", "false": "0"}};
    CKEDITOR.dialog.add("iframe", function (b) {
        var f = b.lang.iframe, a = b.lang.common, e = b.plugins.dialogadvtab;
        return{title: f.title, minWidth: 350, minHeight: 260, onShow: function () {
            this.fakeImage = this.iframeNode = null;
            var a = this.getSelectedElement();
            a && (a.data("cke-real-element-type") && "iframe" == a.data("cke-real-element-type")) && (this.fakeImage = a, this.iframeNode = a = b.restoreRealElement(a), this.setupContent(a))
        }, onOk: function () {
            var a;
            a = this.fakeImage ? this.iframeNode : new CKEDITOR.dom.element("iframe");
            var c = {}, d =
            {};
            this.commitContent(a, c, d);
            a = b.createFakeElement(a, "cke_iframe", "iframe", !0);
            a.setAttributes(d);
            a.setStyles(c);
            this.fakeImage ? (a.replace(this.fakeImage), b.getSelection().selectElement(a)) : b.insertElement(a)
        }, contents: [
            {id: "info", label: a.generalTab, accessKey: "I", elements: [
                {type: "vbox", padding: 0, children: [
                    {id: "src", type: "text", label: a.url, required: !0, validate: CKEDITOR.dialog.validate.notEmpty(f.noUrl), setup: c, commit: d}
                ]},
                {type: "hbox", children: [
                    {id: "width", type: "text", requiredContent: "iframe[width]",
                        style: "width:100%", labelLayout: "vertical", label: a.width, validate: CKEDITOR.dialog.validate.htmlLength(a.invalidHtmlLength.replace("%1", a.width)), setup: c, commit: d},
                    {id: "height", type: "text", requiredContent: "iframe[height]", style: "width:100%", labelLayout: "vertical", label: a.height, validate: CKEDITOR.dialog.validate.htmlLength(a.invalidHtmlLength.replace("%1", a.height)), setup: c, commit: d},
                    {id: "align", type: "select", requiredContent: "iframe[align]", "default": "", items: [
                        [a.notSet, ""],
                        [a.alignLeft, "left"],
                        [a.alignRight,
                            "right"],
                        [a.alignTop, "top"],
                        [a.alignMiddle, "middle"],
                        [a.alignBottom, "bottom"]
                    ], style: "width:100%", labelLayout: "vertical", label: a.align, setup: function (a, b) {
                        c.apply(this, arguments);
                        if (b) {
                            var d = b.getAttribute("align");
                            this.setValue(d && d.toLowerCase() || "")
                        }
                    }, commit: function (a, b, c) {
                        d.apply(this, arguments);
                        this.getValue() && (c.align = this.getValue())
                    }}
                ]},
                {type: "hbox", widths: ["50%", "50%"], children: [
                    {id: "scrolling", type: "checkbox", requiredContent: "iframe[scrolling]", label: f.scrolling, setup: c, commit: d},
                    {id: "frameborder",
                        type: "checkbox", requiredContent: "iframe[frameborder]", label: f.border, setup: c, commit: d}
                ]},
                {type: "hbox", widths: ["50%", "50%"], children: [
                    {id: "name", type: "text", requiredContent: "iframe[name]", label: a.name, setup: c, commit: d},
                    {id: "title", type: "text", requiredContent: "iframe[title]", label: a.advisoryTitle, setup: c, commit: d}
                ]},
                {id: "longdesc", type: "text", requiredContent: "iframe[longdesc]", label: a.longDescr, setup: c, commit: d}
            ]},
                e && e.createAdvancedTab(b, {id: 1, classes: 1, styles: 1}, "iframe")
        ]}
    })
})();